When processing or otherwise analyzing still or moving images (i.e., video), edge detection and/or edge direction determinations are often relied on. The “edges” of an image, i.e., the points of an image having discontinuities, may be used to process an image, for image pattern recognition, image analysis, etc. For example, image recording devices have traits that make the captured images susceptible to noise, e.g., random or white noise with no coherence, or coherent noise, e.g., such as introduced by the device itself. Such noise is particularly problematic for video recording devices. Because image details are often associated with image edges, and because image noise typically does not have such edges, noise reduction techniques typically search for and identify the “edges” of an image. By identifying the edges of an image, the noise reduction techniques can better determine how to filter out the noise without destroying the image details.
Some conventional edge detection techniques rely on the dominant gradient direction (DGD) associated with one or more blocks of pixels of an image, referred to herein as an image area. By determining the DGD of multiple image areas, a graphics processor can detect the edges of an image. Determining the DGD of each image area, however, is time consuming and computationally expensive. Thus, there is a need for improved DGD detection techniques.